Skip to main content

File Parsing va Data Processing

Kirish

Bash scriptingda file parsing (faylni tahlil qilish) va data processing (ma’lumotlarni qayta ishlash) — turli formatdagi fayllardan ma’lumotlarni ajratib olish, o‘zgartirish, filtrlash va tahlil qilish uchun ishlatiladi. Bu texnikalar loglarni, CSV, TXT, konfiguratsiya va boshqa fayllarni avtomatlashtirishda juda muhim.


Asosiy amaliy usullar

1. Faylni qatorma-qator o‘qish

while read -r line; do
echo "Qator: $line"
done < input.txt

2. Ma’lumotlarni ajratib olish (cut, awk, sed)

a) cut yordamida

cat users.csv | cut -d',' -f2
  • Ikkinchi ustunni ajratib oladi.

b) awk yordamida

awk -F',' '{print $1 " -> " $3}' users.csv
  • Birinchi va uchinchi ustunni chiqaradi.

c) sed yordamida

sed 's/error/XATO/g' log.txt
  • "error" so‘zini "XATO" ga almashtiradi.

3. Filtrlash va qidirish (grep)

grep "ERROR" app.log
grep -E '^[0-9]{4}-[0-9]{2}-[0-9]{2}' log.txt
  • Faqat xatoliklar yoki sana bilan boshlanuvchi qatorlarni chiqaradi.

4. CSV faylni tahlil qilish

while IFS=',' read -r id name email; do
echo "ID: $id, Name: $name, Email: $email"
done < users.csv

5. Ma’lumotlarni guruhlash va sanash

awk -F',' '{count[$2]++} END {for (name in count) print name, count[name]}' users.csv
  • Ikkinchi ustun bo‘yicha guruhlab, har bir qiymat sonini chiqaradi.

6. JSON faylni jq yordamida tahlil qilish

cat data.json | jq '.users[] | .name, .email'
  • Har bir user’ning name va emailini chiqaradi.

7. Fayldan unikal qiymatlarni ajratish

sort data.txt | uniq

Amaliy misollar

1. Log fayldan IP va vaqtni ajratib olish

awk '{print $1, $4}' access.log

2. Fayldagi raqamlar yig‘indisini hisoblash

awk '{sum+=$1} END {print "Yig‘indi:", sum}' numbers.txt

3. Fayldan ma’lum bir qiymatni qidirish va sanash

grep -c "ERROR" app.log

4. CSV fayldan email domenlarini ajratish

awk -F',' '{split($3,a,"@"); print a[2]}' users.csv

Xulosa

File parsing va data processing texnikalari bash skriptlarida turli formatdagi fayllardan ma’lumotlarni ajratish, filtrlash va tahlil qilish uchun juda muhim. cut, awk, sed, grep, jq kabi utilitalar yordamida murakkab ma’lumotlarni samarali boshqarish va avtomatlashtirish